#include "PouvoirMassue.h"
#include "Pouvoir_private.h"

#include <List.h>
#include "Personnage.h"
#include "Des.h"
#include "JeuCombat.h"
#include "Joueur.h"

Pouvoir* newPouvoirMassue(Personnage* perso){
	Pouvoir* pouvoir;
	
	pouvoir = newPouvoir("Massue",3,perso);
	pouvoir->appliquer = pouvoirMassueAppliquer;
	pouvoir->canUseItNow = pouvoirMassueCanUseItNow;
	
	return pouvoir;
}

#define POUVOIRMASSUE_NBLANCER 40
int pouvoirMassueAppliquer(Pouvoir* pouvoir,Jeu* jeu){
	int i;
	List* ennemis; /* Liste de personnages enemis */
	Personnage* ennemi, * perso;
	Joueur* joueur;
	int vieEnnemi, forceAttaque;
	
	if(pouvoirGetType(pouvoir) != tpMassue) return 0;
	if(pouvoirMassueCanUseItNow(pouvoir,jeu)) return 0;
	
	perso = pouvoirGetPersonnage(pouvoir);
	joueur = persoGetJoueur(perso);
	
	ennemis = newList(5);
	
	jeuCombatGetEnnemis(jeu,ennemis);
	ennemi = joueurAskChooseEnnemi(joueur,ennemis);
	vieEnnemi = persoGetVie(ennemi);
	
	forceAttaque = 0;
	for(i=0; i < POUVOIRMASSUE_NBLANCER ; i++)
		forceAttaque += desLancer10();
	
	persoSetVie(ennemi,vieEnnemi - forceAttaque);
	
	deleteList(ennemis);
	
	return 1;
}


int pouvoirMassueCanUseItNow(Pouvoir* pouvoir,Jeu* jeu){
	return (pouvoirGetQuantite(pouvoir) > 0) && (jeuGetMode(jeu) == mjCombat);
}

